<?php
/**
 * Created by PhpStorm.
 * User: jian
 * Date: 18-8-22
 * Time: 下午7:05
 */

namespace app\api\controller;

use think\Db;
use think\Request;


class Cate extends Conmon
{
    /********** 列表 *********/
    public function index (Request $request)
    {
        if ($request->isGet()) {
            $cate = Db::table('sy_cate')->select();
            $this->return_msg(200, '成功', $cate);
        }
    }

    /********** 添加栏目 *********/
    public function add (Request $request)
    {
        //判断是否传入ID
        if (!array_key_exists('name', $request->param())) {
            $this->return_msg(400, 'name不能为空');
        }
        // 检查该栏目名称是否已经存在
        if (Db::table('sy_cate')->where('cate_name', 'eq', $request->param('name'))->find()) {
            $this->return_msg(400, '该名称已存在');
        }
        $data = ['cate_name' => $request->param('name')];
        $cate = Db::table('sy_cate')->insert($data); // 添加数据
        if ($cate) {
            $cate_id = Db::table('sy_cate')->getLastInsID(); // 返回添加数据的自增主键
            $this->return_msg(200, '添加成功', $cate_id);
        } else {
            $this->return_msg(400, '添加失败');
        }
    }

    /********** 修改栏目 *********/
    public function update (Request $request)
    {
        //判断是否传入ID
        if (!array_key_exists('id', $request->param())) {
            $this->return_msg(400, 'ID不能为空');
        }
        // 判断是否传入name
        if (!array_key_exists('name', $request->param())) {
            $this->return_msg(400, 'Name不能为空');
        }
        //更新操作
        $cate = Db::table('sy_cate')
            ->where('cate_id', 'eq', $request->param('id'))
            ->update(['cate_name' => $request->param('name')]);
        if ($cate) {
            //更新成功
            $this->return_msg(200, '修改成功', $cate);
        } else {
            //更新失败
            $this->return_msg(400, '修改失败');
        }
    }

    /********** 删除栏目 *********/
    public function delete ($id)
    {
        $cate = Db::table('sy_cate')->where('cate_id', '=', $id)->delete();
        if ($cate) {
            $this->return_msg(200, '删除成功');
        } else {
            $this->return_msg(400, '删除失败');
        }
    }
}